<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        //in 关键字
        //第一种用法 for...in
        var obj = {
            name:'jack',
            age:18,
            sex:'男'
        }
        //遍历对象属性名
        for(var k in obj) {
            console.log(k,obj[k]);//遍历属性名和属性值           
        }
    
        //第二种用法 判断 属性名是否存在对象中
        //可以判断 对象中是否存在该属性
        //规则：字符串 in 对象 （返回结果为 bool值）

        console.log('name'in obj);//如果返回 true 就表示 obj对象中有 name 这个属性
        console.log('sayHi'in obj);//false

        var arr = ['1','3','6'];
        //如果使用 字符 in 数组 （字符就表示 数组的 索引）
        console.log(6 in arr);//false
        console.log(2 in arr);//true 表示该索引存在
        
        //delete 用法
        // 可以删除 对象属性
        // 还可以删除 没有使用 var 定义的变量

        a = 20;
        console.log(a);//20
        console.log(delete a);//true
        //  console.log(a); // 报错 a is not defined 找不到a
        console.log(window.a);//undefined;window没有 a 这个属性可以得到 undefined   
        
        //使用var 定义的变量 delete 删除不了
        var b = 30;
        console.log(b);//30
        console.log(delete b);//false
        console.log(b);//30
        
        //delete 删除变量或者属性 会有一个返回值，这个值是一个 bool值 true表示删除成功， false表示删除失败
        //注意：使用 var 定义的变量 delete 删除不了
        
    
    </script>
</body>
</html>